package com.mall.framework.datasource;

import com.mall.common.config.datasource.DynamicDataSourceContextHolder;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;

/**
 * 动态数据源
 * Created by zhonglin on 2020/4/8.
 */
public class DynamicDataSource
    extends AbstractRoutingDataSource {

  public DynamicDataSource(DataSource defaultTargetDataSource,
                           Map<Object, Object> targetDataSources) {

    super.setDefaultTargetDataSource(defaultTargetDataSource);
    super.setTargetDataSources(targetDataSources);
    super.afterPropertiesSet();
  }

  @Override
  protected Object determineCurrentLookupKey() {

    return DynamicDataSourceContextHolder.getDataSourceType();
  }

}